part of '../purchased_item.dart';

sealed class GooglePlayPurchasedSubscriptionCancellationInfo {}

class GooglePlayPurchasedSubscriptionUserCancellationInfo extends Equatable
    implements GooglePlayPurchasedSubscriptionCancellationInfo {
  const GooglePlayPurchasedSubscriptionUserCancellationInfo({
    required this.time,
    required this.surveyResult,
  });

  final DateTime time;
  final GooglePlayPurchasedSubscriptionCancellationSurveyResult surveyResult;

  @override
  List<Object?> get props {
    return [
      time,
      surveyResult,
    ];
  }
}

class GooglePlayPurchasedSubscriptionSystemCancellationInfo extends Equatable
    implements GooglePlayPurchasedSubscriptionCancellationInfo {
  const GooglePlayPurchasedSubscriptionSystemCancellationInfo();

  @override
  List<Object?> get props => [];
}

class GooglePlayPurchasedSubscriptionDeveloperCancellationInfo extends Equatable
    implements GooglePlayPurchasedSubscriptionCancellationInfo {
  const GooglePlayPurchasedSubscriptionDeveloperCancellationInfo();

  @override
  List<Object?> get props => [];
}

class GooglePlayPurchasedSubscriptionNewSubscriptionCancellationInfo extends Equatable
    implements GooglePlayPurchasedSubscriptionCancellationInfo {
  const GooglePlayPurchasedSubscriptionNewSubscriptionCancellationInfo();

  @override
  List<Object?> get props => [];
}
